import psutil


def judgeprocess(processname):
    pl = psutil.pids()
    for pid in pl:
        if psutil.Process(pid).name() == processname:
            print("进程processname PID:%s"%pid)
            break
    else:
        print("该进程已结束运行:%s"% processname)

# if judgeprocess('notepad++.exe') == 0:
#     print('success')
# else:
#     pass


import errno
import os


def pid_exists(pid):
    """Check whether pid exists in the current process table.
    UNIX only.
    """
    if pid < 0:
        return False
    if pid == 0:
        # According to "man 2 kill" PID 0 refers to every process
        # in the process group of the calling process.
        # On certain systems 0 is a valid PID but we have no way
        # to know that in a portable fashion.
        raise ValueError('invalid PID 0')
    try:
        os.kill(pid, 0)
    except OSError as err:
        if err.errno == errno.ESRCH:
            # ESRCH == No such process
            return False
        elif err.errno == errno.EPERM:
            # EPERM clearly means there's a process to deny access to
            return True
        else:
            # According to "man 2 kill" possible error values are
            # (EINVAL, EPERM, ESRCH)
            raise
    else:return True


def taskkill_processname(processname):#根据进程名强制杀死进程
    os.system('taskkill /IM %s /F'%(processname))

def taskkill_processid(pid): #根据进程PID强制杀死进程
    os.system('taskkill /PID %s /F'%(pid))


